
#ifndef RECTANGLE_H
#define RECTANGLE_H

#include <string>
#include vector



/**
  * class Rectangle
  * 
  */

class Rectangle
{
public:

    // Constructors/Destructors
    //  


    /**
     * Empty Constructor
     */
    Rectangle ( );

    /**
     * Empty Destructor
     */
    virtual ~Rectangle ( );

    // Static Public attributes
    //  

    // Public attributes
    //  


    // Public attribute accessor methods
    //  


    // Public attribute accessor methods
    //  



    /**
     * @param  _p1
     * @param  _p2
     */
     Rectangle (Point _p1, Point _p2 )
    {
    }


    /**
     * @param  cv
     */
    void afficher (Canevas& cv )
    {
    }


    /**
     * @param  _ancre
     * @param  _proportion
     */
    void modif_taille (Point _ancre, float _proportion )
    {
    }


    /**
     * @param  _centre
     * @param  _angle
     */
    void rotation (Point _centre, float _angle )
    {
    }


    /**
     * @param  _pointDeplacement
     */
    void deplacement (Point _pointDeplacement )
    {
    }

protected:

    // Static Protected attributes
    //  

    // Protected attributes
    //  

public:


    // Protected attribute accessor methods
    //  

protected:

public:


    // Protected attribute accessor methods
    //  

protected:


private:

    // Static Private attributes
    //  

    // Private attributes
    //  

    Point p1;
    Point p2;
    vector<ligne> ligne_rect;
public:


    // Private attribute accessor methods
    //  

private:

public:


    // Private attribute accessor methods
    //  


    /**
     * Set the value of p1
     * @param new_var the new value of p1
     */
    void setP1 ( Point new_var )     {
            p1 = new_var;
    }

    /**
     * Get the value of p1
     * @return the value of p1
     */
    Point getP1 ( )     {
        return p1;
    }

    /**
     * Set the value of p2
     * @param new_var the new value of p2
     */
    void setP2 ( Point new_var )     {
            p2 = new_var;
    }

    /**
     * Get the value of p2
     * @return the value of p2
     */
    Point getP2 ( )     {
        return p2;
    }

    /**
     * Set the value of ligne_rect
     * @param new_var the new value of ligne_rect
     */
    void setLigne_rect ( vector<ligne> new_var )     {
            ligne_rect = new_var;
    }

    /**
     * Get the value of ligne_rect
     * @return the value of ligne_rect
     */
    vector<ligne> getLigne_rect ( )     {
        return ligne_rect;
    }
private:


    void initAttributes ( ) ;

};

#endif // RECTANGLE_H
